{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "DBSCAN Scratch.ipynb",
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "cG7P-KKZCxsM"
      },
      "source": [
        "!git clone https://github.com/eriklindernoren/ML-From-Scratch\n",
        "!mv ./ML-From-Scratch/* ./\n",
        "!(python setup.py install)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ZYPtymW2Dvlp"
      },
      "source": [
        "from __future__ import print_function, division\n",
        "import numpy as np\n",
        "from mlfromscratch.utils import Plot, euclidean_distance, normalize\n",
        "\n",
        "class DBSCAN():\n",
        "    \"\"\"A density based clustering method that expands clusters from \n",
        "    samples that have more neighbors within a radius specified by eps\n",
        "    than the value min_samples.\n",
        "\n",
        "    Parameters:\n",
        "    -----------\n",
        "    eps: float\n",
        "        The radius within which samples are considered neighbors\n",
        "    min_samples: int\n",
        "        The number of neighbors required for the sample to be a core point. \n",
        "    \"\"\"\n",
        "    def __init__(self, eps=1, min_samples=5):\n",
        "        self.eps = eps\n",
        "        self.min_samples = min_samples\n",
        "\n",
        "    def _get_neighbors(self, sample_i):\n",
        "        \"\"\" Return a list of indexes of neighboring samples\n",
        "        A sample_2 is considered a neighbor of sample_1 if the distance between\n",
        "        them is smaller than epsilon \"\"\"\n",
        "        neighbors = []\n",
        "        idxs = np.arange(len(self.X))\n",
        "        for i, _sample in enumerate(self.X[idxs != sample_i]):\n",
        "            distance = euclidean_distance(self.X[sample_i], _sample)\n",
        "            if distance < self.eps:\n",
        "                neighbors.append(i)\n",
        "        return np.array(neighbors)\n",
        "\n",
        "    def _expand_cluster(self, sample_i, neighbors):\n",
        "        \"\"\" Recursive method which expands the cluster until we have reached the border\n",
        "        of the dense area (density determined by eps and min_samples) \"\"\"\n",
        "        cluster = [sample_i]\n",
        "        # Iterate through neighbors\n",
        "        for neighbor_i in neighbors:\n",
        "            if not neighbor_i in self.visited_samples:\n",
        "                self.visited_samples.append(neighbor_i)\n",
        "                # Fetch the sample's distant neighbors (neighbors of neighbor)\n",
        "                self.neighbors[neighbor_i] = self._get_neighbors(neighbor_i)\n",
        "                # Make sure the neighbor's neighbors are more than min_samples\n",
        "                # (If this is true the neighbor is a core point)\n",
        "                if len(self.neighbors[neighbor_i]) >= self.min_samples:\n",
        "                    # Expand the cluster from the neighbor\n",
        "                    expanded_cluster = self._expand_cluster(\n",
        "                        neighbor_i, self.neighbors[neighbor_i])\n",
        "                    # Add expanded cluster to this cluster\n",
        "                    cluster = cluster + expanded_cluster\n",
        "                else:\n",
        "                    # If the neighbor is not a core point we only add the neighbor point\n",
        "                    cluster.append(neighbor_i)\n",
        "        return cluster\n",
        "\n",
        "    def _get_cluster_labels(self):\n",
        "        \"\"\" Return the samples labels as the index of the cluster in which they are\n",
        "        contained \"\"\"\n",
        "        # Set default value to number of clusters\n",
        "        # Will make sure all outliers have same cluster label\n",
        "        labels = np.full(shape=self.X.shape[0], fill_value=len(self.clusters))\n",
        "        for cluster_i, cluster in enumerate(self.clusters):\n",
        "            for sample_i in cluster:\n",
        "                labels[sample_i] = cluster_i\n",
        "        return labels\n",
        "\n",
        "    # DBSCAN\n",
        "    def predict(self, X):\n",
        "        self.X = X\n",
        "        self.clusters = []\n",
        "        self.visited_samples = []\n",
        "        self.neighbors = {}\n",
        "        n_samples = np.shape(self.X)[0]\n",
        "        # Iterate through samples and expand clusters from them\n",
        "        # if they have more neighbors than self.min_samples\n",
        "        for sample_i in range(n_samples):\n",
        "            if sample_i in self.visited_samples:\n",
        "                continue\n",
        "            self.neighbors[sample_i] = self._get_neighbors(sample_i)\n",
        "            if len(self.neighbors[sample_i]) >= self.min_samples:\n",
        "                # If core point => mark as visited\n",
        "                self.visited_samples.append(sample_i)\n",
        "                # Sample has more neighbors than self.min_samples => expand\n",
        "                # cluster from sample\n",
        "                new_cluster = self._expand_cluster(\n",
        "                    sample_i, self.neighbors[sample_i])\n",
        "                # Add cluster to list of clusters\n",
        "                self.clusters.append(new_cluster)\n",
        "\n",
        "        # Get the resulting cluster labels\n",
        "        cluster_labels = self._get_cluster_labels()\n",
        "        return cluster_labels\n"
      ],
      "execution_count": 44,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WUt0ts7PGuBl",
        "outputId": "a02e20c9-d308-485a-88eb-0a6361d2b278",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 573
        }
      },
      "source": [
        "import sys\n",
        "import os\n",
        "import math\n",
        "import random\n",
        "from sklearn import datasets\n",
        "import numpy as np\n",
        "\n",
        "from mlfromscratch.utils import Plot\n",
        "\n",
        "# Load the dataset\n",
        "X, y = datasets.make_moons(n_samples=300, noise=0.08, shuffle=False)\n",
        "\n",
        "# Cluster the data using DBSCAN\n",
        "clf = DBSCAN(eps=0.17, min_samples=5)\n",
        "y_pred = clf.predict(X)\n",
        "\n",
        "# Project the data onto the 2 primary principal components\n",
        "p = Plot()\n",
        "p.plot_in_2d(X, y_pred, title=\"DBSCAN\")\n",
        "p.plot_in_2d(X, y, title=\"Actual Clustering\")\n"
      ],
      "execution_count": 45,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEWCAYAAABIVsEJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO2de5xVZbn4v8/MwAzIVcDEC6LmQbSLCWlHJSUUbynndFHDCiF/pFmYlnY9WtbxmGYmeYtjmscks44FHjVQREPNC3hHIpXICygIgoPAMMw8vz/W2sOaPeu+174/389nPjP7Xbdn71n7fdb7XEVVMQzDMIykNJRbAMMwDKM6MQViGIZhpMIUiGEYhpEKUyCGYRhGKkyBGIZhGKkwBWIYhmGkwhSIYRiGkQpTIIYRAxFZKSJbRKRVRDaIyKMicpaINLjbfy0i20Rkk7vPEhE50nP8HiLyvyLytohsFJEXROQMz/beIvIDEXlJRN5zr3eTiIzMk+PXIrJdRIbnjf9ARFRETvGMNblj3c5hGFlhCsQw4nOSqvYH9gIuA74F/Mqz/XJV7QcMAK4H7hSRRnfbrcBr7rFDgC8Ab3mO/QNwMjAZGAh8GFgCTMjtICI7AZ8GNgKf95FvPfBDzzUNo6iYAjGMhKjqRlWdC5wKTBGRD+RtV2A2sDPwPnf4o8CvVfU9Vd2uqk+r6r0AInI0cAwwSVWfdLdvVNVrVdWroD4NbAAuAab4iPZnYBv+ysUwMscUiGGkRFWfAF4HxnnH3RXAF4F/sGOV8RhwrYicJiIj8k51NPCEqr4WcckpwG+B24H9RWRMvkjAfwAXi0ivpO/HMJJiCsQwCmMVzkoD4JsisgHYBPwc+A9V7XC3fRZYhDPB/0NEnhGRj7rbhgCrwy7iKp3xwGxVfQtYgKOkuuGujNYCZxb0rgwjBqZADKMwdsfxPQD8VFUHAX2BscAVInI8gKq+o6rfVtUDccxazwB/EhEB1gHDe566G18AlqnqM+7r24DJASuN7wPfA1oKeF+GEYkpEMNIibuC2B142DuuDi8AjwAn5h+nqm8DPwV2w1m93A8cIiJ7hFzui8A+IvKmiLwJ/AwYCpzgc/77gJeBr6R5X4YRF1MghpEQERkgIp/E8UX8RlWf99lnf+AIYKn7+ici8gE3tLY/cDbwsqquU9X7gfuAP4rImNw+bpjwNBH5V2Bf4BDgIPfnAziO+h5mLJfvARdm+sYNIw9TIIYRn7tEpBUnHPd7OKuAqZ7tF7p5IO8B84GbgV+62/oCf8SJolqBE857sufYzwD3AL/DCdN9AccMdj+O83yOqj6vqm/mfoCrgU+KyM7koaqPAE9k87YNwx+xhlKGYRhGGmwFYhiGYaTCFIhhGIaRClMghmEYRipMgRiGYRipaCq3AKVk6NChOnLkyHKLYRiGUVUsWbLkbVUdlj9eVwpk5MiRLF68uNxiGIZhVBUi8k+/cTNhGYZhGKkoqwJxG+asEZEXArafLiLPicjzbgOfD3u2rXTHnxERW1YYhmGUmHKvQH4NHBey/R/Akar6QeBHwKy87eNV9SBVHVsk+QzDMIwAyuoDUdW/hLXbVNVHPS8fA8KKzRmGYRglpNwrkCR8CbjX81qB+W7v6elBB4nIdBFZLCKL165dW3QhDcMw6oWqUCAiMh5HgXzLM3yEqh4MHA+cIyIf9ztWVWep6lhVHTtsWI8oNKPCWTB7EaePPJuJjadw+sizWTB7UblFMgzDpeIViIh8CLgRp1/0uty4qr7h/l6DU+X0kPJIaBSLBbMXcdX0G1jz6tuoKmtefZurpt9gSsQwKoSKViBuG887gS+o6t894zu5PRUQkZ2AiTjlr40a4qbvzqZt87ZuY22bt3HTd2eXSSLDMLyU1YkuIr8FjgKGisjrwMVALwBVvQG4CKdf9HVO50+2uxFX78NpvgPOe5itqn8u+Rswisra19YlGjcMo7SUOwrrcxHbzwTO9BlfAXy45xFGLTFszyGsefVt33HDMMpPRZuwjPpm2qWTae7bu9tYc9/eTLt0cpkkMgzDiykQo2KZMHkc5806i11GDEVEGDCkP71bevOTL/zCIrIMowIwBWJUNBMmj+O2ldfzrVu/RtuWNlrXb0ockWWhwEatMWf5Mo64eRb7zrySI26exZzly8oihykQoypIG5FlocBGrTFn+TK+u2A+q1pbUWBVayvfXTC/LErEFIhRFaSNyMoqFNhWMUalcMWji9iyfXu3sS3bt3PFo6W/J02BGFVBUORVVERWFqHAtooxKonVra2JxouJKRCjKkgbkZVW8XixhEajkhjev3+i8WJiCsSoCvIjsnYZMZTzZp3FhMnjQo/LIhTYEhqNSuKCw8bRp6l7Cl+fpiYuOCz8u1AM6qqlrVHdTJg8rofCWDB7ETd9dzZrX1vHsD2HMO3Syd32yf0dtk8UxU5ojHoPRu3zaus9LF1/DVu2v0mfpl05cOevMqL/Cb77Tho1GnB8IatbWxnevz8XHDaua7yUiKqW/KLlYuzYsWo90WuHnG/Ca15q7ts71sqkUq5TqvdgVC6vtt7D02t/RIdu7RprlBY+Muw/ApVIqRGRJX6N+8yEZVQtpfJNpDWfxcH8K8bS9dd0Ux4AHbqVpeuvKZNE8TEFYpSdtCGypfRN5BIa53fcwbRLJ3PTd2dnEtJr/hVjy/Y3E41XEqZAjLJSSIhskA9CGqRo+RpZh/RmESVmVDd9mnZNNF5JmAIxykohJhy/CCuAzo7OouVrZG1ysoKRxoE7fxU07z7W3s54hWMKxCgrhZhw8n0TDY09b+es/QlZm5yK6V8xqoOnV+3N7587lPWbd0IV1m/eid8/dyhPr9q73KJFYmG8RlkpNETWG9o7sfEU332y9CcUI6TXLzzZqB+ueHQRq1r34vHX9+o2/trGRWUJzU2CrUCMsuJrhhI49MQxgccEOd1L4U8wk5ORJXOWL2NVgaVJylmZ1xSIUVYmTB7HxCnjQTyDCvNvWejruwhzYvtN7k29m9iyaWtmTvUsTE5WmNGAHVV1gxjY3Bz7HOWqzGuJhEYiipE1ffrIs33NQruMGMptK69PtK9Xvv479+O9dzfT0d7RtV+5k/QscdDIccTNswJXHwC9Ghq4/JjjQs1YQefYrX9/Hp46PRM5wRIJjQwoVlXaJI7pqH29+RotOzV3Ux7gONWvO/fmrtelXg1Y4qCRI8pE1d7ZGVmivdyVecuqQETkJhFZIyIvBGwXEZkpIi+LyHMicrBn2xQRecn9mVI6qeuXNJNfnAk6ie8iyb5Byubdda0smL2oLGXag2TyW1UZtU2c6rlRiqDclXnLvQL5NXBcyPbjgf3cn+nA9QAisjNwMXAocAhwsYgMLqqkRuIQ1rgTdBLHdJBz3W+83+CdfPcFRxmWYzUQ6NAXzBdSZ/hV1c0nShGUuzJvWRWIqv4FWB+yyyTgf9ThMWCQiAwHjgXuU9X1qvoOcB/hisjIgKRRTtede3OsCdrrmAZoaGzo2i9/Un387iW+1/IbFxGfPR3WvrYudDVwbK9TmXnOjb7bo1ZVYdunXTq5e8BADsXMWHXGpFGjuXTCRHZzlUT+bRFHEXjPITi+j0snTCxZ+G+l54HsDrzmef26OxY0bhSRaZdO9nUA+60UFsxexLvr/JfffhN3zoHsPX9uxeLdnmQV1Lp+U+B7ySm9INNRZ0cnd10/D4AZ157ZNZ7vBM+XMWj70keW8/jdSxw5A+JWrP5V/TFp1OiuyX7O8mWpSrR7z1FqKl2BFIyITMcxfzFixIgyS1PdJOmtEfY0HbRiCTMp5a6RJJEvaF+ELqWXrxDzuXvWfd0USJCMl0+5hp984RdIg9DZ0dlj+103zAtUHGHvAaxfSL1QTkWQlkpXIG8Ae3pe7+GOvQEclTf+oN8JVHUWMAucMN5iCFlPxM2aDnuaDkq6i7O6SLIK8tsXgZPOOrbbe7jpu7NDVyJxZMztpx0Bt1jEnRe2kotalRlGuSi3Ez2KucAX3WisjwEbVXU1MA+YKCKDXef5RHfMKAGFRFb137lf4MQXx8eSJJHPb99v3zqj24piwuRxoVnk+fW1sq6SG/UeLOy3vilnlnkcyroCEZHf4qwkhorI6ziRVb0AVPUG4B7gBOBlYDMw1d22XkR+BDzpnuoSVQ1zxhsZEfeJOGilcM7MaYHnPvTEMV1+h/xxL0lqR4Xtu2D2Iq6dcVOor+TE6cd0e+27qolC8F2B+CVK5mP9QuqXXJb5lu3bgR1Z5otXvcHClSvK3s4WLBPdiCDf/r5l01bfCddvMvQe22/wTogIres3Bdrxk2SkZ/G+ohTBSWcf22214j02977Cvj8iwrA9h3DoiWOYf8vCVNnnQZ/JgCH9admp2fwiNUxUpnqOPk1NRY+8CspENwViBBJnks0hIszvuCP2efwm0ImNp/hOyGHnTkvQxJz0msc0fDZw232dv+/6O60j3O+za+rdhKpWVIkWI3v2nXlllOusi6xLl+RjpUyMxPjZ34MI8w3EteMXWk03SVmSKBNQ3GvmclfyaWhs6HZ9b4mV21Zen8gEl+/H6dOvxbdEi/fztIKN1U+SbPJVra1l8ZWYAjECiWtnjypnHteOX0ip9KRlScIURHPf3hx64piuCfhTQ6fy6WHTAhMDg7oiZlEWxW/lsumd93z3zX2e5SjRYmRPkmxygbJU5DUFYgQSNMkOGNI/UTnzuCuLQkqlJ41WCpr4Bwzpz8Qp45l/y8KuCbh1/SbeXdfqOxnnZM66G+KC2Yv49LBpXPb5mT0UQVCJltznaZFblUuSqKpJo0YzKEZJd78YjS3bt0cWYswCUyBGIEErgq9cPTWROSZsZZFvagFSmXqSRiv5hvj+Zgb/u/YmHr97SajpLn8ynjB5HNrpb61OEy2VW0H4ZfK3bd6GiISu1CxyqzJJ07vj4qMm9Kh11cCOsieNIoF+klJU5K30REKjTORMJ22bt9HQ2EBnRye7jBiaKtonKIMdokuXxCVNq9mgEN84E23+Plm2uo3yPbWu38S3bv1aoFO+GG13jcK54tFFXSG5OXIrhaAIqtx4rsTJwOZm3mtvp73TSVztUA2KEi9JRV5TIHVA0gig/Mifzo7OrifctFE+fpP16SPPjixdEvf9JMlQj6L/zv0C63jlyJ+Ms7x+HAd/WH5LlrIY2ZG2d4e3xMkRN89iQ1tbt+1KTzNWqSrymgmrCkkSYZPGoVqIDT2LSKiwCTTo/QAFt5rNERXaHjQZN/fZYa/uv3O/1NePcvBHKYIs2u4a2ZNF744gZaNQloq8tgKpMpLWRopToDCftDb0pLKlMbWEvZ8kPpMwgqKcAF8znl+uxratCTLV8wjKdu+/cz/OmTmtpIrACjlmxwWHjeuWWQ7dVwpxqvEO79+/JC1s42IrkCojzurAuwoISpYLUwZp8zGyiITKKiS4EILeZy4jPn8CzTrqacLkcUycMr4rsquhsYGTzj6WO9++OXLyDoveShrGa+HA2RLWuyOug73cDaTyMQVSZURNoPlf+iDClEHafIwsIqGyCgkuhKTvP2ultmD2IubfsrCrwm9nRyfzb1kYOXFHRW8lVWgWDpw9k0aN5uGp03llxjd4eOr0bk7yIAd7/vHlbCCVj5mwqowos0+c7PEoZZCk70cS2YKulcQkUgoHcdL3n3XUUxqzY9BxXpIqNAsHLh1JHOyV1DfEFEiVETWBhn25c8X94iiDpBN7HNmyIK1yS3OduOfM+n2nnbizKs/i3d/CgUtDkG+jFKG4hWAKpMqImkCDvvRZVLSNcqhW4uSeFWHvPev3nXbiDuzASDqFZuHApSPKwZ6UtO1xkxJYjVdEPgj8N06v8XuBb6nqO+62J1T1kMylKTL1UI03buXbSjlvNVDq9572ekHVkwuJ3spXnIeeOKart7tFZWVLVpN+fh8RKLzke+Jy7iLyMPBj4DHgTJxmTier6isi8rSqfiSVJGWkHhQIFCf0Mqj8ef+d+3Hn2zcXdO5Kp5R9SnIUUv7dL+M/7Fxxr1XPDxHVRFAfkUJCfdMokGdV9cOe1+Nxeot/AbhOVQ9OJUkZqRcFUgyCenUAfPs3M2p6AillnxIvWTwIRE36SZRCORSp0ZOolUpYH5Grjj0h1SokVT8QERmY+1tVFwKfBm4F9kosgVHVRCX31TKlCB3OJ6scjKCIrsunXMPExlO4fMo1sUN1LSqr/MTJFwlzvGdd5j1MgfwE6KaqVPU5YAJwZ2YSGIkpR7OgNMl9tdLUqJA+JWnJKgcj6H/T2dGJqnblmsQ5rhyK1OhOnHwRv2TDoH0LJVCBqOpsVX3MZ/xVVf1/mUlgJKJc2cETJo9jwBD/Jxu/CaSWspjLUVsqq6f9tJO733HlUKRGd+Lki+SSDZOeIw2WiV5llDM7+CtXT409gdRaFnPalrRpyeppP6hxVhhB/1Mr0lg84jaailuQcdKo0eyWQfHGKMqqQETkOBFZLiIvi8i3fbZfJSLPuD9/F5ENnm0dnm1zSyt5+SiGHTquqSnJBGL28sLI6mk//3/m1zkRnHpbcZRCqRVpPZCk0VSSWlilqJsVmUgoIoer6iNRY0kRkUbgWuAY4HXgSRGZq6ov5vZR1fM8+38N8IYOb1HVgwqRoRrJOjs4aQXduEl8lsVcGFkmJ3r/ZxaKW3kkaTSV32AqLF8kyb5piZOJ/gsgP2TXbywphwAvq+oKABG5HZgEvBiw/+eAiwu8ZtXjW+pb4NATx6Q6X9q6S2nkNHt5MoqRcV+qagFGfKL8Gn5hu3HzOYpdNytQgYjIvwKHAcNE5HzPpgFAYwbX3h14zfP6deDQAFn2AvYGHvAMt4jIYmA7cJmq/ing2OnAdIARI0ZkIHZ5mTB5HEsfWc5dN8zb0YJMYf4tCznw8FGJJ4JimZpsoqpciqGYrG9IesLqYOVnlefMW0BFFFQM84H0BvrhKJn+np93gc8UX7RunAb8QVU7PGN7uYktk4Gfi8i+fgeq6ixVHauqY4cNG1YKWYvO43cv6dEEuW3zNq47N3lGeDFDM81eXh/UUsRdOQjzVcQt814uwsJ4H1LVHwIfU9Ufen5+pqovZXDtN4A9Pa/3cMf8OA34bZ58b7i/VwAP0t0/UtMErQ7eXdea+Eub1FlbK7kdRnbUWsRdqQnr8ZG2j3qpiOMDaRaRWcBI7/6q+okCr/0ksJ+I7I2jOE7DWU10Q0T2BwYDf/WMDQY2q2qbiAwFDgcuL1CeqiGs6mq+7yLLCrpJHe5G9RPHNGURd4UT5Kuo9DLvccJ4fw88DXwfuMDzUxCquh34KjAPWAbcoapLReQSETnZs+tpwO3avRjRaGCxiDwLLMTxgQQ532uOuFnhUaaF3GriJ1/4BQDfuvVroaYme9KsL+KapixDvXiMH7kPkjcm7nglEFhMsWsHp4hWuhCfCqOWiil+auhUWtdv6jHuLWwXVvwuKEoqLJyzXEUFjWQ8cPcz/Hrmfax9cyPDdh3IGTOO4RMnxot49644pEF8S53kF0+00ODCCCqO6FeWPUeh5dmTElRMMY4J6y4R+QrwR6AtN6iq6zOUz0jIOTOnRYbJhpkW0oTvWm5HZbNg9iKuu+gPbGrZCWlwjAtrVm/k6h/OAYhUIjPPubFbdJ92+D9c5t9XFnGXnrAoq+tf+CMf+OA/ae69nbZtTax8dRfWrhsEBOeJlJo4CmSK+9trtlKgMtZQdUqcL22/wTv5rlL6Dd4pld3acjsql9wqoH2PPbqUR462re38euZ9oQpkwexF3UPDQ/B7YChHl8haICjK6voX/sjQ3VbQ2Oj8Q1qat7PfPqsBupRIJTjSIxWIqu5dCkGM5ER9aUXyrac7xtOsJuxJs3LJrSgbevl/pde+uTHy+DjKA9InrRo9CVICA3f5Z5fyyNHYqIwcsaZLgVSCIz3SiS4ifUXk+24kFiKyn4h8sviiGYXit/rIjaettWS5HZVJ18qxvae9HGDYrgN9x3scH4PH714Se18jnCAl0Nzb//+YG8+6plVa4piwbgaW4GSlgxNy+3vg/4ollBEfr9Oz3+CdEBFa129i2J5DAk1Yw/YcYquJGmLB7EVIg6Adir61FnbftZsZq7mlF2fMOCb0HGGh4flYeG52XHDYON/+5X0bBrBF3+2xf9s2Z8pubsyiGEjhxFEg+6rqqSLyOQBV3SxBthGjJOSUxppX33Zi+tyVrldZrHn1bZp6N9HYq5GO9h0J/N5Vhtmtq5+c7yMXLaUbXZPI+4YhvZoYMLAPZ33nk5EOdN8aawEM23NI6IOLPYjEZ9Ko0Sxe9Qa3v/AcHao0ivCp0Qdy/N6HcN1Lv+pmxuroEFa+ugsAG9raKqKkSZw8kG0i0gd3mnJLhrSFH2IUC29sPhBqt96+bTs7DegbWX7dssurF79oOt3YCq+s5ILvHMcdD38/VgivX6n+k84+1tfMeeiJY7rlh7Su38S761qtjEkK5ixfxp3LltLhhsd3qHLnsqWsXTeIt1ftw9a2JlRha1sTL60Y3uX/gMooaRInD+QYnCTCA4D5OFnfZ6jqg0WXLmNqIQ8kKLcjiKgcDYvhr26KnZvjl4netfoNoaGxAe1UW5FEcMTNs3wzzXdz80GC8kByCPDKjG8UUUL3OmnzQFT1PhF5CvgYjrznqmr8GczIlKT2536DdwrdXqxy7kZpSBJNl6Zirp+ZM1e5IIycSc3K3YQTVuvK28/DT8lA+SOx4nYkbAHewanEe4CIfLx4IhlhJE3a27Jpa6g5weoYVTdxo+myrJib9B60cjfBRLWonTRqNA9Pnc5Vx55Q9O6CaYgTxvsT4BHge+yog/XNIstlBODb49oNaZCGnrEN27dtD/3yWh2j6iZum+Es65il6bNuDyT+xG07G1axt5zEicL6N2CUqprjvAIIC7+d2HiK7zGWXV7bxImmy3KlmX8PeqOwgupn2QOJP3HazubXyvrZsSeUXXHkiKNAVgC9sMiriiFowrDsciOIrOuY5e7BfL/KoSeOYf4tC+2BJAFhbWcrvSNhHAWyGXhGRBbQvZjijKJJZSRmwexFbH2vp46Pm11uCqO2KcZK068/zPxbFjJxyngev3uJPZDEIKgSb46wjoTVokDmuj9GCUgTKeMXigvQf+d+nDNzmn15jUxXmt0SWfNo27yNx+9e0q3cu+FPnNVF1XckVNVbRKQ38C/u0HJVbS+uWPVJ2o5/fg5SgD79Wkx5GF1ksdIMeljxYg7zeMRZXVR9R0IROQp4CbgWuA74u4XxFoe0kTIWimuUiqCHFS/mMI9HnNVF3CitchHHhHUlMFFVlwOIyL8AvwWspnPGpFUE1ujJKBVxHkrMYR6POKuLsCitKP9JKYijQHrllAeAqv5dRHoVUaa6Ja0isFBco1REVe0dMKS/mU1jElSJ1y8HJF8xVEp0VpxM9MUicqOIHOX+/DdQ3QWlKpRCenTESSYzjEIJSyJs7tubr1w9tcQSVS+FJAeG+U9KSZxiis3AOcAR7tAi4LpqTCyshmKKaaKwSnk+w/BGYTU0NtDZ0ckuI4bavVVC9p15pW8h7mIVVwwqphipQNyDewOjgU6cKKzopgHxhDoOuBpoBG5U1cvytp8BXIHTxArgGlW90d02BadKMMCPVfWWqOtVgwLJEqu0axiVTVo/RlgV34enTs9cziAFEicK60TgFZyJ/hrgZRE5PgOBGnEiu47HKRX/ORE5wGfX36nqQe5PTnnsDFwMHAocAlwsIoMLlakaCevlkWX9I8MwsiXnx1jV2oqyw48xZ/myyGMrJTorjg/kSmC8qh6lqkcC44GrMrj2IcDLqrrCXdHcDkyKeeyxwH2qul5V3wHuA47LQKaqIqrCqoX3GkblUogfo1KKK8aJwmpV1Zc9r1cAWaRB7g685nn9Os6KIp9Pu3knfwfOU9XXAo7d3e8iIjIdmA4wYsSIDMSuHKJ6edR6eG8lhDHWO+ZjS0+hWeZhNbRKRRwFslhE7gHuwGmg+lngSRH5FICq3llE+e4CfquqbSLyZeAW4BNJTqCqs4BZ4PhAshexfEStMGo5vDcsjBF6xs37jZX7y1ftpK2cYDgE5YE0iLDvzCur4j6No0BagLeAI93Xa4E+wEk4CiWtAnkD2NPzeg92OMsBUFXvDHkjcLnn2KPyjn0wpRxVS9QKo5Yr7QYt/3/44ALaOjq6KZYL598LIrR3dnaNVVJF02olaAV87YybavKey5qglrW5/ujVcJ/GqYVVrMDuJ4H9RGRvHIVwGtDt0VhEhqvqavflyUDOuzQPuNTjOJ8IfKdIclYscVYYtVppN2iZv6GtZ3R5uyrkRRtWUkXTaiVoBdy6fhOt6zcBtioJIz/LvEGkS3nk8PpEglbQXlPuoJYWVJWNbW0lWcFEKhB3gv8aMNK7v6qeXMiFVXW7iHwVRxk0Ajep6lIRuQRYrKpzgRkicjKwHVgPnOEeu15EfoSjhAAuUdX1hchTjdTyCiOMOcuX+X7ZklIpFU2rlais9Bxev5zRHa8fY9+ZV/ruk1uJBJlrvdve2bq1x3G56xSDOImEzwK/Ap7HyQMBQFUfKopERaRW80DqyZGZ7/vw0qepiZampm5fojCKFTNfL8SpzJtDRJjfcUcJpKpegnI7GgMelhpFGNDcHHm/Z3Gfp84DAbaq6kxVXaiqD+V+CpLGiCQsvyN/v7BQ3lrDz/cBzpfp0gkTuejIT/SIj+8lQq+G7rd6JVU0rVa8JXQAGhqDp5NaifwrJkG5HUEr7Q7VWA9LxVxpx3GiXy0iFwPz6d6R8KmiSVXnJIluiQrlrUbCwnODvgydqj06uVkUVvHJ3WNhK5FaifwrNkGVd694dJHvyiQuxewdEkeBfBD4Ak74bM6EpSQMpzXik0Qp1FqyYFSV0bglsL3lrs+fd48pjYzwM5eG9QixrpjJCMrtuHD+vU4wSEKKvdKOY8L6LLCPqh6pquPdH1MeRSSJUggyDVSrySAqOzduCYdCykQY/gSZS8Mc6du2ZlI2r+aYs3wZR9w8i31nXskRN88KvS8njRpNv+bmwO2Dmpu7MtIHt7QwqLm5ZNnpcVYgLwCDgDVFk8LoRlB0S/+d+/UYqyJEhSEAACAASURBVLVkwajs3LAGO17itAs1khG0Mg6j2s2pxSBNL48NIb6Oi4+aULZ7Oo4CGQT8TUSepLsPpKAwXiOYaZdO5qfTrmP7tu4T4HvvbmbB7EXdvoy1FsqbxEQVRqFlIoyepDWLVqs5tVikebgJ+l4Mbmkp6wNRHAVycdGlMLoxYfI4rp1xU1cyVo6O9g4un3JN1z7e/atVYeQTt0ubFz+nexxFZCQjaGWc6wkSdpyxgzQPN0Hfi4uOLK83IdIH4obs/g3o7/4sszDe4rPpnfd8xzs7Orlq+g1ceMwlHNvrVI5p+CzH9jqVmefcWGIJi0PSKqNBvo7xI/epiHLXtcShJ47xHf/wUQeGdilMa06NG8pebQQ9xIQ93FRK9d184iQSnoLT1OlBnIZX44ALVPUPRZcuY6opkfD0kWfHyvL1ctLZxzLj2jOLJFFlEtZYJxcCaaG72RB0T+a6EWbZpbCWm6H5JcP2aWqqCIUQROqOhG4m+jGqusZ9PQy4X1U/XBRJi0ilKhC/0EiAK6ZeS0d7R+zzNDQ2MK/9d8USsyIpdWvPemZi4yn4zRfFyDIPU1a3rbw+02uVg2prRRCkQOL4QBpyysNlHfHCf40YBCUNHvCvoxIpDyDUDl2rmK+jdJSyv0yt5TflUwm9PLIgjiL4s4jME5Ez3B7ldwP3Fles+iEoNPLpBc8nPldYKYlaZfzIfXzHRw4cFDvO3ojHtEsn9/B1eH0cWfosai2/KS5J8kMqgThO9AuAXwIfcn9mqeqFxRasXkjzRPWRCR/0HT9x+jGFilN1LFy5wnf8r6+/ZkmEGeOtfSUi7DJiaJdPIuuabFHKqhapxuTXQAUiIu8XkcPB6Tqoquer6vnAWhHZt2QSVjFRT2QLZi9CGiTZSQWOnTqek84+tmvF0dDYUJcOdAgOfcy31MftNW2EM2HyOG5beT3zO+7gtpXXd8tDCiq/k/Y6QcqqVimkR3q5CPOB/Bz/Jk0b3W0nFUWiGiGqIGJuu6/fQug5A+ZQ58t628rr61Jh5DOwudm3iZQflkRYPIrhs6jG/KZCnOPVmPwaZsJ6n6r2MMS7YyOLJlGNEPVEFlSArqGxgZPOOjYwrh5qx5GYBSLxV3DmWC8e9eqz8JLWBJXzewQ9M1byfRumQAaFbOuTtSC1RtQTWdB27VRmXHsm5806K9ApXk9fyijCagR5sSTC4jLt0sk09e5u0Gjq3VTTPot80pigvErHj0q/b8MUyGIR+X/5gyJyJrCkeCLVBlFPZFHbJ0wex4W3fLXuHIlJifN0NrilpaKTtGqF/ByRqByzWiONCSqoQRpUTrZ5GGEK5OvAVBF5UESudH8eAr4EnFsa8aqXqCiSOFEm9ehITIpfefd8+vTqVdFfwlrgpu/O7pG31NHekdqJXo2kKVESpFwEeHjq9K6+NpUa2hv4zVPVt4DDRGQ88AF3+G5VfaAkklU5UVVy41bRrUZHYinJKYbz5t0TuE8lOyFrhVpP/ItDmkKgUYmwaUq/l5LIUia1RKWWMjEKJ6gmFjimgIenTi+xRPVFrZceiUvSKKyoulhhtd5KeU8HlTIpa+qyiBwnIstF5GUR+bbP9vNF5EUReU5EFojIXp5tHSLyjPszt7SSZ0etVhwtNRccNo5eDT1v514iFe2ErBWCTLKHnjimru7vSaNG8/DU6bwy4xtdJqio/cOq7FZ6aG+cWlhFQUQagWuBY4DXgSdFZK6qvujZ7WlgrKpuFpGzgcuBU91tW1T1oJIKHRO/4oh+ZqioXJFiXbcWyX3hLnnoAd5xI7MGNTeXtVtbPeFnkj30xDHMv2VhZvd3rRJWF6vSa72VzYQlIv8K/EBVj3VffwdAVf8rYP+PANeo6uHu602q2rPHawilMGElKUMdZ9kfpBTyx/O/rGHXNYxSYGatwqmU0u+Jy7mLSCv++dACqKoOKFCgzwDHqeqZ7usvAIeq6lcD9r8GeFNVf+y+3g48A2wHLlPVPwUcNx2YDjBixIgx//znPwsRO5IkX5qo8thBymjilPE9lEVQ9rp9WYOptpLa1UYpy79XCkH3lN84EOv+q4T7NHE5d1WtjDUSICKfB8YCR3qG91LVN0RkH+ABEXleVV/JP1ZVZwGzwFmBFFvWJNEoUeWxg7LZ77phXk9lEfDO6ikKJgmVHt1SC5Sy/HslEHRPLV71BncuW9pt/ML594II7Z2d3faFnvdfJZd+j+1EF5FdRGRE7ieDa78B7Ol5vYc7ln/do4HvASeralfRI1V9w/29Aqdb4kcykKlgkpR0iMoFCZz8E6jBWv2yFko1Fq6rNuqtom7QPXX7C8/1GG9X7VIe3n2r7f6LVCAicrKIvAT8A3gIWEk2/UCeBPYTkb1FpDdwGtAtmsr1e/wSR3ms8YwPFpFm9++hwOGA1/leNpJ8aaISBRNP/nlloWr5y1oolR7dUgvUYiJsWFJf0L3TkcDP7D1HJScQ5ogThfUj4GM4bWw/4iYWfr7QC6vqdhH5KjAPaARuUtWlInIJsFhV5+L0Yu8H/N4tmveqqp4MjAZ+KSKdOErwsrzorbIRN0HQu3/QtmmXTuayz8+Mdd2cb+Txu5fUZRRWUio9uqVWqOZEWK/vYVBLC1vb29nSsSPbPt/sFHRPJaFaEghzxOmJvlhVx7q90T+iqp0i8qz1RC8Nnx42jXfX9bwpBwzpT8tOzaYsAohyPFZKdItRmfjdH0HkkvqSHNNLpJsPBCozgTBHIT3RN4hIP2ARcJuIrAHey1pAw5+vXD3VNxLrK1dPNYURQJynt9zvcke3GJVJWJHDfHJmpzhldQRiRWFVi4k1jgKZBGzFKa54OjAQuKSYQhk7SGoSqyXShi+GOci9x0dFt1RC+KRRHpJM1F6z56RRo7ni0UWxVw/VmkCYI1KBqOp7IrIrcAiwHpinqhYbWkKq2Y6clkJswFk8vVWLDdooDnH9GX7FEtMUVcwni3OUgjhRWGcCTwCfAj4DPCYi04otmFHfFBJmm6asdn7EyyUPPWBhvnVMnDYBfn1mcqvWLdu30+h2y0zT1yOqRlalEMeEdQGO83wdgIgMAR4FbiqmYEZ9U8gqIunTm99qI4hVra3sO/NKM2nVOPk+skEtLagqG9vaevzvc0pjVWtrt4IQHapd912a+6SSEwhzxFEg6wDvN6rVHTNSUM8FD5NQiA04qYM8icMU6Nbv2ns9o7aIM4HnP3zkx7T6+d5qiTgK5GXgcRGZg/P5TAKeE5HzAVT1Z0WUr6aIqr5rymUHhdqAkzy9pY1sqfXJod6JE0QR5+FjdWtrzQZkxFEgr7g/Oea4vysrHKAKCKptlWv7mWVp92qnmGG2+V/mlsbGbgliOQY1N9O3d29Wt7YGVo+ptLBKIxviBlHE+f8PbG6u2YAM60hYQsKqkwYVnrNqutkSN9mrlwiXTzy+6wteaYldRrbkP1Rs3raNDW1tPfYb1NzMU1/eUTA8rBMmOKvmlqamrh41Xqrp3kmcSCgiP1fVr4vIXfiU73NLihgJCKtOaj2lS0Ncf0e/5uZuT4fVElZpJCdJEMWGtjbmLF/G4lVvcPsLz/nWuco50ndzV83nByQW1sLqNcyEdav7+6elEKQemHbpZN+s8mmXTuam786uq9LXpcT7dBl3vb0h74nRr+Nhc2NjlmIaZSJpEMX3Fsxnc8D+u/mYWoMSCystKTANYf1Alrh/LsZpH9sJXa1om0sgW02Rc5C3bd5GQ2MDnR2d7DJiaDdHeZByMZLhVRgDm5t5r729R+nsKBpE2Hfmld3CNwe1tLDJY9bY0NZWM7bseibpSiBIeTSK+Jqkann1GqcfyAKgr+d1H+D+4ohTm+Sir3IrjM6Ozi7l4HWQ927ZUQZ+wJD+VV/6uhzkzBGr3NXGhra2xMoDnBh+Bd7ZupUNbW1df7fnmSwsubD6CVoJxG6W5BJUtr1akgLTECcKq0VVN+VeqOomEekbdoDRnbDoq1z4bv7qo21LTweeEU0Sc0SusN34kfuwcOUKVre20iCSqH8D1IYtu54JWiF8avSB3ToJ5sa3bt/uawrNZZ77UQ1JgWmIo0DeE5GDVfUpABEZA2wprli1RZSDPErBeLFckXDiTuZBETD7zrwy8TVrwZZdz4SFjI/dbfce2ehBDyinfeBDpRS7IoijQL6O09BpFc5D267AqUWVqsaI6g0dNwIrKhHRiFcEL8z+nLQpUK3YsuudoBVCbjwq/LsBGLvb7kWWsvKINPOp6pPA/sDZwFnAaI+D3YhBVJvbuH3UoxIRDf8ieL1EGNzSEsv+HFcZpLVlV0ObUqMnUabRTnefeiPOCgTgo8BId/+DRQRV/Z+iSVVjRPX0CAvv9WK5ItEUmsE+adRofvjgAt8kMi+vzPhGYtmsRHz1Esc0Wo++sEgFIiK3AvsCzwC5eg8KmAJJQFhPj7hNo6JMYYZDoQ7Li4+aEGquCHOWhhG30VUYtVpTqdKJY9qsR19YnBXIWOAAraeaJ2UgTtOouCsVo3Bampoyd5YW2ujKVjDlwy9Sy0u9+sLiKJAXcBznq4ssixGBtbct/pP3nOXLuHD+vT3yPcBZeZz2gQ/xo/FHpzp3oW1Ks1jBGOnIN40ObG5GRNiwdWtdrwTjKJChwIsi8gTQZRjOohaWiBwHXA00Ajeq6mV525txTGVjcHqQnKqqK91t3wG+hGNWm6Gq8wqVJ0vShttGHWftbYv75P3DBxf4Ko/8InppKDQjOYtWvdVCJZrqajWXoxDiKJAfFOPCbkmUa4FjgNeBJ0Vkrqq+6NntS8A7qvp+ETkN+AlwqogcAJwGHAjsBtwvIv+iqj1rcpeBtOG2FqbrTymfvIOc52FO9biTXaEO/kJXMNWCmeqqh0gFoqoPFenahwAvq+oKABG5HadZlVeBTGKHAvsDcI2IiDt+u6q2Af8QkZfd8/21SLImIkliYBbH1TqV/OSddLIr5Cm2lmsqeSnmA0OQsq/EFU81EFbO/WFVPUJEWulezl0AVdUBBV57d+A1z+vXgUOD9lHV7SKyERjijj+Wd6xvFo+ITAemA4wYMaJAkeMRFFa75tW3WTB7UaAysDBdf0r55D24pcW3d8Pglhbf/Uu5Oipmk61y4TdxF+uBIUjZL171RreSJbbiiU9gIqGqHuH+7q+qAzw//TNQHiVDVWep6lhVHTts2LCSXDMsrPaq6TewYLZ/wlHQcarKMQ2f5fSRZwceW8v4JQcW68n7oiM/Qa+G7l+LXg0NXHTkJ3z3L/XqaNKo0Tw8dTqvzPgGD0+dXtUTXH7hy9zEPShAWRf6wBCk7G9/4bnAhwAjnNBMdBFpFJG/FenabwB7el7v4Y757iMiTcBAHGd6nGPLhl/meY6wzPFpl06mqXewVTHnE6k3JVLKaqaTRo3m8mOO63aty485LvBaQZNa0Lhlou8gaEJX1aI8MAQp9aDimZVgIq10Qn0gqtohIstFZISqvprxtZ8E9hORvXEm/9OA/ISGucAUHN/GZ4AHVFVFZC4wW0R+huNE3w94ImP5UpMzUV32+Zm+28NMUlHpNvXqEyllBEySayXxS5hzuDtBE/TGtjZ+duwJmZvqgkyhjQEVmGstOKEYxInCGgwsdcN438sNFhrG6/o0vgrMwwnjvUlVl4rIJcBiVZ0L/Aq41XWSr8dRMrj73YHjcN8OnFMpEVg5JkweF9llcP5fXuSXtz3MmnXvssuQAWx/4iU62qPfRr37RCqJJH4Jy+PoTphvqxgPDONH7sNtzz/bY/zQ3ffg6TdX13xwQjGIo0D+o1gXV9V7gHvyxi7y/L0V+GzAsf8J/GexZMuCsMzx+X95kZ/cMJ+2Nuemfevtd2HEUHqta6Xp9XAFYaVLKou4k10Wmei15EAvdVTZwpUrfMdXbtzApRMm1tRnWyrCorBacKrvvh94HviVqsZvHFznRLWw/fSXZ3Upjy6aGtl+4J6hCsRKl1QecSf2QqLJatH8VeqosjAF7vcQUGsKuxiErUBuAdqBRcDxwAHAuaUQqtrJTwj0a2G7Zt27vsdqn57Od2kQtFN79FA3yk+Sib2QJ+5aNX+V0reVRIHXosIuBmEK5ABV/SCAiPyKCnJSVzpxEgJ3GTLAMVvlMbBvM4NGDK27WlfVSpKJvZAn7kpOpiwFWawGkijwWlXYWROmQNpzf7gO7xKIUxvESQj88ulH8F/X/Jn2js6usV6NDZw7/Wgm/mZG0WU0siHpxJ72iXtgc7NvOZWBzc2JzwXVZZ7JajWQRIHXu8KOS5gC+bCI5B6RBejjvs4qE71midO3o/H1dTQ9tYLt+w1H+/RGtmyj6aXVNEY40I3KIt8s0tC3naaB25BGZcKff87XD5zASXt+MPF58yf4bZ2dvvulebCrNvNMlquBuAq8XuqOFUpYJnpjXvZ5UzVmopeDqBa24Ji5WPEWLfOeoc+fnqBl3jOw4i1rT1tleLPkG/q20zS4DWlSEFi1ZSMXPX0Xd732fKJz+mVob25v9913g0/ZlSjCJuSsyDJhshyrgVJWP6hmInui1zsLZi/i9JFnM7HxlNilRCZMHsd5s85ilxFDERF2GTGU82ad1c2XkbbuVRp5jOLhzZJvGrgNyftGbe1o5+dLFyQ6Z1T/bS/5T8RxJu5iT8hBJUrSKpGk2f5ZUMrqB9VM3J7odUkh5dWj+nakaU9r5d4rk5xZ5IA//hC/OgKrt2xMdL4kE/n4kfsAzqSd38s9yDRVbPNM1g7o8SP3Yfbzz3b7bEuxGrD+H9GYAgmhmOXV07SntXLvlc3wPgNZ5aMshvcZmOw8Mfpv51i4ckUPn4YXr2kq51MZ1NJCL5FujbOiJuQkTvckK5yo8uqrWlsdp6vnGAE+NfrA0Mm9moIEqhlTICEUs7x6mva0Vu69svn6gRO46Om72Nqxw1/R0tiLrx84IdF5ovpve1nd2hpp8lrV2sqF9/2ZdtcR/87WrTSKMKi5mY1tbZETbFKne9wVTtzy6vmrOqV7Vnm+shg/ch8rz14iTIGEkMbMlISk7WmLLY9RGLloq58vXcDqLRsZ3mdgqigsv3DTzdu2+YbxDu/fP9LkJdClPHJ0qLKts5NXZnwjUp4gk9R58+7hikcX9VA+cfMtwsqrB1XIzZF7z35KKN/clTuv5XBkjymQENKYmepJHqMnJ+35wVRhu/nk29/9zFS5STln6vGjT1NT4Opkc3s7c5Yvi5xUwxSU39N93HyLpOXVveRWM35KKOjoVa2tHPzLaxARNmzdaqatDDAFEkIaM1M9yWOUjqhJ+cL593bzaYDTRfGiIz/BefPu6XG+HHGeyqN8Mn5P93Ec0EHnbQD8s14cvKuZpJFjcYIMjPiYAokgqZmp2FSaPEbpCJ2URcCjQHJdFCeNGt0jOsuL1xQUpJzi+GTShAAHmbpQZUuHf1uD3fJkC1JC+Y73IMy0VRiWB2IYCajEjoJXPLqoh4+jvbOzK/rq4qOCnfjD+/ePzNvI5USEMbC5OfHnEpRrsTVAecCOoIHc+YMS/iZ/8MPsFjMs2cqTpMdWIIYRk0otARIVNjtp1GgWr3ojMJciTt7GpFGjQ30t77W3d61yknwufquqsOt4FZz3/EGrpyNunhUZEm3lSdJjKxDDiEkpSoCkIU6m9o/GH83Pjj3BN7M6bt6G39O+AH179eqxAor7ufit6Pyuk4/3/JNGjebhqdN5ZcY3eHjq9B4RYWHVwqw8SWGYAjGMmMSdaEtt5opbtylooo1bKsTP5PSzY09gS0CdLq9/xe/zCDKdAd2uE0Qc09OkUaNDfSFWnqQwzIRlGDGJkyBXDjNXoZ39/JzZwo4yKfnXimty8vpX/D6PsBWdV8EFmaHimp52C/i/7eb2XjfSYysQw4hJnCf9cpm5wsw4USuiSaNG86nRB3Z72lfgzmVLI1dPc5Yv812BRPlXvjn/3kDfRBzTWRLTk1XWLR5lUSAisrOI3CciL7m/B/vsc5CI/FVElorIcyJyqmfbr0XkHyLyjPtzUGnfgVGPxKnQWmmNiOJWxl24ckVg9nbUud/JKyk/qLk50r8SliwYx3SWxPQUdnwlRtVVE+UyYX0bWKCql4nIt93X38rbZzPwRVV9SUR2A5aIyDxV3eBuv0BV/1BCmRNx95JlXH3vI7z5Tiu7Du7PuccfzoljbLlc7UQlyGVZ6TaLgoBxK+OmUXxBNbj69u4dmacRRNDKoNDKuH7HV2pUXTVRLhPWJOAW9+9bgH/L30FV/66qL7l/rwLWAMNKJmEB3L1kGT/4/f2sfsd56lv9Tis/+P393L3Enm5qnazMJVn11IirGNL03Ag696rW1kQRVTlK3XOjUqPqqolyKZD3qepq9+83gfeF7SwihwC9gVc8w//pmrauEpF0jaGLxNX3PsLW9u435tb27Vx97yNlksgoFVk1Iip0csuZZoIMRfmKIUzxBZl5wpRLUERVY0AL3t369+/huyk2lWZurEaKZsISkfuBXX02fc/7QlVVRAINoiIyHLgVmKKquWDz7+Aont7ALBzz1yUBx08HpgOMGDEi4btIx5vv+N+AQeNGbZFFI6Kop/sk5dfzCQrxhZ6RXECgmSeqxIlfRFVYUchSY33PC6doCkRVjw7aJiJvichwVV3tKog1AfsNAO4Gvqeqj3nOnVu9tInIzcA3Q+SYhaNkGDt2bJzyOAWz6+D+rPZRFrsOthvTiEeY7yDKVh/WHyS/lpQXP8V3xM2zQkNtc9eLG1GVy4rPlWxvFIlsDlUs4padN4IplwlrLjDF/XsKMCd/BxHpDfwR+J98Z7mrdBARwfGfvFBUaRNy7vGH09Kru25u6dXEuccfHvscdy9ZxsQf38iHvnEVE398o/lP6owo30GYOSto9SKQ2EwUtRI63630O7ilxXc/vyZSdy5b2hWF1aHaI1y4VJFR1ve8cMoVhXUZcIeIfAn4J3AKgIiMBc5S1TPdsY8DQ0TkDPe4M1T1GeA2ERmG8514BjirxPKHkou2ShuFlXPC5/woOSe899xGbeM1KcV9us+RpWkmrNptbnxVayu9ROjV0NCtpEmSJlK5qLBSR0ZZ3/PCKIsCUdV1QI8Soaq6GDjT/fs3wG8Cjv9EUQUskKQhvPn7b2lrD3TCmwKpH3KTW9JM7CxNM0FZ6vm24HZVBvXuTd/evVM1kcqNxw07NioDK2WSMUlXD377B2FO+PokqUIotLRJ1LmCVkQb29p46stfDT1f1OrIIqOqC1MgGRMWwuunQPz2D8Kc8PVJGoXg1xL3iJtnpVIo+ecqpDbV+JH7BJaVz53DIqOqB1MgGZM0hDfuqiKpE96oLQqx1WftV0hrIss50L3KQ6BbFJZFRlUXVkwxY4JWCUnHB/ZtZvhgJzpk+OD+/OCzR5v/w0hF1hnXaaOX/ORQnDpchZ7bKA+2AsmYc48/vJtPA8JXD0H7f+ffxpvCMBLjVz+rGH6FNCuiuHJYZFT1YAokY5KG8ObG/+tPC9m42WkJmp9DYhhxCDJVDWpp6VExF0rvVzD/Ru1hM1UROHHM6MSrh7b2jq6/N2zeankfRmKCTFXNjY30aWoqu1/B/Bu1h/lAKgArvlj7dG6eS+eao+h8c5Tze/PczK8RZCLa2NZWEX4F82/UHrYCqQCs+GJt07l5Lrz7fcA1I3Wugne/TyfQ0PfkzK4TZiKqFL9CpchhZIOtQCqApBFaRpWx6Wd0KY8utrrj2WGtW41SYyuQMpIrYeKXfW55HzVE5+pk4ynJMgPdMOJgCqRM5Jcw8TLcWuDWFg3DHbOV33jGmInIKCWmQMpEUAmT4YP7M//7Z5ZBIqNo9Du/uw8EgBZn3DCqGFMgZcIc5/VDQ9+T6QTH59G52ll59Ds/Uwe6YZQDUyBlwroW1hcNfU8GUxhGjWEKpEx4S5gcv//fmfHxx9l1wCbaOobRuXkXezo1DKPiMQVSJnIO8meX/zfnjnuIPr0cf0ifprVFyREwDMPIGlMgZeTEMaM5fs+noDPfme7mCJgCMQyjgrFEwnJTohwBwzCMrDEFUm6CcgGKkCNgGIaRJaZAyk2/84GWvEHLETAMo/IpiwIRkZ1F5D4Recn9PThgvw4Recb9mesZ31tEHheRl0XkdyLSu3TSZ0tD35NhwI+hYTdAnN8DfmwOdMMwKp5yrUC+DSxQ1f2ABe5rP7ao6kHuj3dG/Qlwlaq+H3gH+FJxxS0uDX1PpmGXB2nYdbnz25SHYRhVQLkUyCTgFvfvW4B/i3ugiAjwCeAPaY43DMMwsqFcCuR9qpoLM3oTeF/Afi0islhEHhORnJIYAmxQ1Vzs6+vA7kEXEpHp7jkWr127NhPhDcMwjCLmgYjI/cCuPpu+532hqioiGnCavVT1DRHZB3hARJ4HNiaRQ1VnAbMAxo4dG3QdwzAMIyFFUyCqenTQNhF5S0SGq+pqERkOrAk4xxvu7xUi8iDwEeB/gUEi0uSuQvYA3sj8DRiGYRihlMuENReY4v49BZiTv4OIDBaRZvfvocDhwIuqqsBC4DNhxxuGYRjFRZz5uMQXFRkC3AGMAP4JnKKq60VkLHCWqp4pIocBvwSnLBTwc1X9lXv8PsDtwM7A08DnVbUtxnXXuterFIYCb5dbiAIw+cuLyV9e6kn+vVR1WP5gWRSI4SAii1V1bLnlSIvJX15M/vJi8lsmumEYhpESUyCGYRhGKkyBlJdZ5RagQEz+8mLyl5e6l998IIZhGEYqbAViGIZhpMIUiGEYhpEKUyAlREQ+KyJLRaTTzXkJ2u84EVnulqsPqlRccgotw18uoj5PEWl22wK87LYJGFl6KYOJIf8ZIrLW85mfWQ45/RCRm0RkjYi8ELBdRGSm+96eE5GDSy1jGDHkP0pENno++4tKLWMYIrKniCwUkRfduedcn33S/w9U1X5K9AOMBkYBDwJjA/ZpBF4B9gF6A88CB5Rbdle2y4Fvu39/H9YUzgAABvlJREFUG/hJwH6byi1rks8T+Apwg/v3acDvyi13QvnPAK4pt6wB8n8cOBh4IWD7CcC9gAAfAx4vt8wJ5T8K+L9yyxki/3DgYPfv/sDffe6f1P8DW4GUEFVdpqrLI3Y7BHhZVVeo6jacjPtJxZcuFqnL8JeROJ+n9339AZjgtg2oBCr5fohEVf8CrA/ZZRLwP+rwGE6du4rp5xxD/opGVVer6lPu363AMnpWL0/9PzAFUnnsDrzmeR1arr7EFFKGv1zE+Ty79lGnQOdGnLYBlUDc++HTrvnhDyKyZ2lEy4RKvt/j8q8i8qyI3CsiB5ZbmCBc0+xHgMfzNqX+HxStGm+9ElbGXlUrvuhjscrwq+orWctqdHEX8FtVbRORL+Ospj5RZpnqhadw7vdNInIC8CdgvzLL1AMR6YdTyfzrqvpuVuc1BZIxGlLGPiZvAN4nyJKWqw+Tv8Ay/OVSIHE+z9w+r4tIEzAQWFca8SKJlF9VvbLeiOOrqhbKer8XincyVtV7ROQ6ERmqqhVTZFFEeuEoj9tU9U6fXVL/D8yEVXk8CewnInuLSG8cp27ZI5lcUpfhL5mEPYnzeXrf12eAB9T1LlYAkfLn2atPxrFzVwtzgS+6kUAfAzZ6zKQVj4jsmvOXicghOHNqpTx85FqA/wpYpqo/C9gt/f+g3FEC9fQD/DuOfbENeAuY547vBtzj2e8EnGiJV3BMX2WX3ZVrCLAAeAm4H9jZHR8L3Oj+fRjwPE600PPAlypA7h6fJ3AJcLL7dwvwe+Bl4Algn3LLnFD+/wKWup/5QmD/csvskf23wGqg3b33vwSchdO2AZzIn2vd9/Y8AdGJFSz/Vz2f/WPAYeWWOU/+IwAFngOecX9OyOp/YKVMDMMwjFSYCcswDMNIhSkQwzAMIxWmQAzDMIxUmAIxDMMwUmEKxDAMw0iFKRCjavBU+X1BRH4vIn0D9ns05fnHisjMAuTbFDC+q4jcLiKviMgSEblHRP4l7XUqAbcK7WEB2/YXkb+KSJuIfLPUshmlwxSIUU1sUdWDVPUDwDacWPYu3CxyVNV3YotCVRer6ozCxewmkwB/BB5U1X1VdQzwHYLriFULR+Hk/PixHpgB/LRk0hhlwRSIUa0sAt7vPgkvEqfvyIuwYyXgbnvQLTD4NxG5zZM1/FERedQtgveEiPR39/8/d/sPRORW90n6JRH5f+54PxFZICJPicjzIhJVGXc80K6qN+QGVPVZVV3kZv5e4a6onheRUz1yPyQic0RkhYhcJiKnu3I+LyL7uvv9WkRucAtX/l1EPumOt4jIze6+T4vIeHf8DBG5U0T+7L6nrpInIjLRfa9Puau7fu74ShH5oef97i9OUb6zgPPcFeE47xtW1TWq+iRO8p1Rw1gtLKPqcFcaxwN/docOBj6gqv/w2f0jwIHAKuAR4HAReQL4HXCqqj4pIgOALT7HfginP8JOwNMicjdO/a9/V9V33VItj4nIXA3OyP0AsCRg26eAg4APA0OBJ0XkL+62D+P0j1kPrMDJ9D9EnIZAXwO+7u43Eqfk+77AQhF5P3AOTr3LD4rI/sB8j8nsIPczaQOWi8gv3Pf+feBoVX1PRL4FnI+T7Q7wtqoeLCJfAb6pqmeKyA04fV9slVHHmAIxqok+IvKM+/cinBo/hwFPBCgP3G2vA7jHjsQp177afUpG3YJ40rMFyBxV3QJsEZGFOBP13cClIvJxoBOn7PX7cMrbJ+UInCq6HcBbIvIQ8FHgXeBJdesRicgrwHz3mOdxVjU57lDVTuAlEVkB7O+e9xfue/ubiPwTyCmQBaq60T3vi8BewCDgAOAR9zPoDfzVc41cAb4lOErPMABTIEZ1sUVVD/IOuBPeeyHHtHn+7iDZPZ+/qlDgdGAYMEZV20VkJU4trSCW4hRoTIpX7k7P6066vwc/GeOeN/d5CHCfqn4u4pikn59R45gPxKhHlgPDReSjAK7/w29inOT6E4bgOI2fxCn1vsZVHuNxnuDDeABoFpHpuQER+ZDrN1gEnCoijSIyDKd96hMJ38tnRaTB9Yvs4763RTiKDtd0NcIdD+IxHNPe+91jdpLoKLFWnBapRh1jCsSoO9RpDXsq8AsReRa4D/9VxHM41W0fA36kqquA24CxIvI88EXgbxHXUpwqzEeLE8a7FKd67ps40VnP4VRyfQC4UFWTmsJexVE69+JUV90KXAc0uDL+DjhDVduCTqCqa3H6qv9WRJ7DMV/tH3Hdu4B/93OiixO2/DqOH+X7IvK662cyagyrxmsYPojID6hwJ7GI/Br4P1X9Q7llMeoTW4EYhmEYqbAViGEYhpEKW4EYhmEYqTAFYhiGYaTCFIhhGIaRClMghmEYRipMgRiGYRip+P9sOLtU/rvPuwAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    }
  ]
}